我正在尝试取消剖析后加载预测,但出现此错误 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning:numpy.core.umath_tests是一个内部NumPy模块 并且不应该导入。它将在以后的NumPy中删除 发布。从numpy.core.umath_tests导入inner1d /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311: UserWarning:尝试释放估算器DecisionTreeClassifier从 使用0.19.2版时为0.20.2版。这可能会导致破裂 代码或无效结果。使用风险自负。用户警告) /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311: UserWarning:尝试从以下位置释放估算器RandomForestClassifier 使用0.19.2版时为0.20.2版。这可能会导致破裂 代码或无效结果。使用风险自负。用户警告) 追溯(最近一次通话):文件“ rf_pred_model_tester.py”, 第7行 print('Class:',int(rf.predict(xx)))文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py” , 预测中的第538行 proba = self.predict_proba(X)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py”, 第581行,位于predict_proba中 n_jobs,_,_ = _partition_estimators(self.n_estimators,self.n_jobs)文件 “ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/base.py”, 第153行,在_partition_estimators中 n_jobs = min(_get_n_jobs(n_jobs),n_estimators)文件“ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/init.py”, 第464行,在_get_n_jobs中 如果n_jobs <0:TypeError:“ NoneType”和“ int”的实例之间不支持“ <” 这是我正在尝试运行的代码 进口泡菜 将numpy导入为np 将open('rf_model_1','rb')设为f: rf = pickle.load(f) xx = np.array([67,17832,1,1,0,33,1941902452,36,33011.0,19,18,0,2,1])。reshape(1,-1) print('Class:',int(rf.predict(xx))) 我期望这样的结果: 类别:[0] 如果我在jupyter上运行代码可以正常工作,但是,当我尝试在终端上运行时出现错误。
2021-01-16 08:12:38
您的错误直言不讳: 用户警告:使用0.19.2版本时,尝试释放0.20.2版本的估计器RandomForestClassifier。这可能会导致代码破裂或无效结果。使用风险自负。 确实就是这样。腌制时,您的RandomForestClassifier的属性n_jobs保持为None。这是初始化的默认值,但通常在后台将其设置为1。您可以在此处找到有关n_jobs的更多详细信息:https://scikit-learn.org/stable/glossary.html#term-n-jobs 对您来说,将rf的n_jobs设置为1可以解决问题: 进口泡菜 将numpy导入为np 将open('rf_model_1','rb')设为f: rf = pickle.load(f) rf.n_jobs = 1 xx = np.array([67,17832,1,1,0,33,1941902452,36,33011.0,19,18,0,2,1])。reshape(1,-1) print('Class:',int(rf.predict(xx))) | 高度活跃的问题。赢得10个声誉才能回答这个问题。信誉要求有助于保护该问题免受垃圾邮件和非答复活动的侵害。 不是您要找的答案?浏览其他标记为python-3.x的问题,或询问您自己的问题。